import http
import arrow

from Utils.router import router
from Utils.gy_kl_api.api_main import travel_sum


class DateUtils(object):
    '''
    获取指定时间小工具
    return:
    '''

    @staticmethod
    def get_today_start():
        now = arrow.utcnow().to("local")
        return now.floor("day")

    @staticmethod
    def get_today_end():
        now = arrow.utcnow().to("local")
        return now.ceil("day")

    @staticmethod
    def get_today_start_end():
        return DateUtils.get_today_start(), DateUtils.get_today_end()

    @staticmethod
    def get_week_start():
        now = arrow.utcnow().to("local")
        return now.floor("week")

    @staticmethod
    def get_week_end():
        now = arrow.utcnow().to("local")
        return now.ceil("week")

    @staticmethod
    def get_week_start_end():
        return DateUtils.get_week_start(), DateUtils.get_week_end()

    @staticmethod
    def get_month_start():
        now = arrow.utcnow().to("local")
        return now.floor("month")

    @staticmethod
    def get_month_end():
        now = arrow.utcnow().to("local")
        return now.ceil("month")

    @staticmethod
    def get_month_start_end():
        return DateUtils.get_month_start(), DateUtils.get_month_end()

    @staticmethod
    def get_quarter_start():
        now = arrow.utcnow().to("local")
        return now.floor("quarter")

    @staticmethod
    def get_quarter_end():
        now = arrow.utcnow().to("local")
        return now.ceil("quarter")

    @staticmethod
    def get_quarter_start_end():
        return DateUtils.get_quarter_start().strftime("%Y-%m-%d"), DateUtils.get_quarter_end().strftime("%Y-%m-%d")

    @staticmethod
    def get_year_start():
        now = arrow.utcnow().to("local")
        return now.floor("year")

    @staticmethod
    def get_year_end():
        now = arrow.utcnow().to("local")
        return now.ceil("year")

    @staticmethod
    def get_year_start_end():
        return DateUtils.get_year_start(), DateUtils.get_year_end()


@router.get("/gy/kl_month_travel", tags=['移动端定制数据'], summary="本季度客流时段游逛深度")
async def kl_hot_main(start: str, end: str):
    data = travel_sum(start, end)
    return {'code': http.HTTPStatus.OK, 'data': str(data)}


# @router.get("/gy/kl_quarter_travel", tags=['移动端定制数据'], summary="本季度客流总游逛深度")
# async def kl_quarter_data(start: str, end: str):
#     quert = DateUtils.get_quarter_start_end()
#     return {'code': http.HTTPStatus.OK, 'data': 0}
